Trong quá trình đi làm, đi giảng dạy, mình có nhận được khá nhiều câu hỏi như:

Em đang chưa biết mình ở level nào,
Theo anh, với kinh nghiệm, kỹ năng của em thì em đang ở level nào?


Để trả lời cho câu hỏi này, thường mình sẽ đánh giá bạn đó dựa trên 1 vài yếu tố như:

  • Số năm kinh nghiệm trong 1 lĩnh vực cụ thể. Ví dụ 2 năm kinh nghiệm lập trình web, hay 5 năm kinh nghiệm lãnh đạo, dẫn dắt đội ngữ làm product.
  • Bạn đó đang đi theo hướng quản lý, hay hướng thuần chuyên môn?
    • Hướng chuyên môn sẽ tập trung nhiều vào chuyên môn, thường là các chức vụ như: TechLead, Staff Engineer, Principal Engineer…
    • Hướng quản lý sẽ tập trung nhiều vào quản lý đội nhóm: con người, cao hơn nữa là quản trị, thường là các chức vụ như Engineer Manager, Engineer Director, Chief Technology Officer…
  • Dựa vào ranking trong lĩnh vực mà bạn đang làm:
    • Ví dụ ở Gapo, mình có xây dựng các bộ ranking để xác định chân dung của 1 junior developer, senior developer L1, L2, L3…
    • Đây là phần ranking mình xây dụng tại Gapo, ở các công ty đa phần đều có các phần ranking kiểu như này để xác định rõ chân dung ứng viên, chân dung các bạn kỹ sư phần mềm…xem họ đang ở mức độ nào, được hưởng mức lương ra sao.
    • Một ví dụ khác ở vị trí SA tại FPT, theo mình được biết là có 2 levels: L1 max revenue = 600tr / 1 năm, L2 max revenue = 650tr / năm (con số này mình không chắc chắn nhé)
      ranking_2024
  • Trong một lĩnh vực cụ thể, bạn đó đang đi theo hướng chiều sâu, hay chiều rộng?
    • Đây là điều mình luôn cố gắng khai thác mỗi khi trao đổi với ứng viên. Nhiều bạn có 5-6 năm kinh nghiệm, nhưng đi theo hướng chiều rộng, hiểu đơn giản là họ biết rất nhiều, giống như 1 full-stack developer, nhưng họ không quá chuyên về 1 mảng nào. Họ có thể biết về web, biết về mobile, biết về back-end, biết về system…nhưng lại chưa thực sự hiểu sâu về các tầng Framework…

sea_1


Vậy nên để đưa ra được lộ trình thăng tiến cho bản thân, mình thường đưa ra một bức tranh tổng quát trong vòng 1-2 năm tới xem mình nên bổ sung những kiến thức gì cho bản thân, lần lượt trả lời một vài câu hỏi cơ bản như:

Roadmap cụ thể mà mình muốn học, muốn bổ sung ở đây là gì?

  • Ví dụ mình muốn học thêm về Golang, mình sẽ tìm roadmap về Golang tại roadmap.sh, tương tự cho các ngôn ngữ / framework khác.
  • roadmap_golang
  • Nếu không thể tìm được roadmap cụ thể, mình sẽ đi tham khảo những người đi trước, hoặc nhờ ChatGPT viết ra một vài gạch đầu dòng, mình tổng hợp lại về suy ngẫm về roadmap này.
    Có roadmap rồi, mình nên học để hiểu sâu, hay chỉ cần biết? Hiểu sâu hay hiểu rộng? Vì chắc chắn khi học Golang, sẽ có rất nhiều phần cần bổ sung như về database, system,…
  • Thông thường, mình sẽ cố gắng hiểu rộng trước, sau đó khi gặp các bài toán phức tạp, mình mới đi sâu vào để hiểu, để tìm cách, để giải bài toán đó. Học cần đi đôi với hành.
  • Mình cũng đã từng thử đi sâu vào học về redis 1 thời gian, nhưng sau một thời gian dài mà mình không có tiến bộ gì, vì mình quá tập trung vào học redis, mà quên đi những thứ liên quan tới redis.

Long life learning:

  • Trước mình nghĩ đơn giản là ra trường, đi làm, kiếm tiền là xong, chứ hơi đâu mà như mấy ông học Tiến sĩ, Thạc sĩ này nọ…Sau này tham gia các khóa học, buổi chia sẻ mới thấm thía được tầm quan trọng của Long life learning, nhất là với những lĩnh vực thay đổi hàng ngày như ngành công nghệ thông tin.
  • life_long_learning
  • Một trong các từ mình gặp nhiều nhất là “deprecated”: hiểu đơn giản là không nên xài nữa. Điều này thường diễn ra với code khi được nâng version, các phần code cũ sau khi được thay thế sẽ được đánh dấu là “deprecated”. Ở 1 vài ngôn ngữ, 1 vài settings, các phần “deprecated” này sẽ không thể sử dụng được nữa, buộc chúng ta phải cập nhật code lên version mới. Đây là một minh chứng về việc update bản thân, update kiến thức mới mỗi ngày.

Ngoài chuyên môn, có những kỹ năng nào mình cần học hỏi, trau dồi hay không?

  • Các kỹ năng mềm:
    • kỹ năng giap tiếp
    • kỹ năng xử lý vấn đề
    • kỹ năng thuyết trình
  • Các kỹ năng quản lý:
    • Kỹ năng xử lý xung đột
    • Kỹ năng lãnh đạo, lãnh đạo đột phá

Mình từng gặp nhiều người thuần chuyên môn, họ có thể xử lý chuyên môn trong 1 nốt nhạc, nhưng để giải thích cho người khác hiểu, họ phải suy nghĩ, chọn lọc từ ngữ 1 hồi, và người nghe vẫn hỏi chấm…không hiểu…Điển hình nhất là khi họ cần gửi 1 tin nhắn, giải thích nguyên nhân gây ra 1 vấn đề, nhiều người chọn cách viết ra vài gạch đầu dòng rồi nhờ ChatGPT rewrite lại…

do_not_understand_1

Vai trò, giá trị của những thứ mình sẽ học. Áp dụng vào đâu? Có thực sự cần thiết trong 1-2 năm tới?

  • Học nhiều là tốt, nhưng nên học có chọn lọc. Ngành công nghệ thông tin là 1 trong những ngành có khối lượng kiến thức lớn nhất, học quá nhiều thứ sẽ chỉ khiến bản thân bị stress trong khi đồng lương không hề tăng, cảm hứng, đam mê không hề tới.

Trong bối cảnh công nghệ không ngừng phát triển, việc học hỏi liên tục trở nên vô cùng quan trọng. Kỷ nguyên trí tuệ nhân tạo đang mở ra cơ hội lớn cho những ai biết nắm bắt và tận dụng, đồng thời cũng tạo ra thách thức cho những người chậm thích ứng. Khả năng tiếp cận và ứng dụng những tiến bộ công nghệ mới sẽ là chìa khóa quyết định sự thành công trong tương lai.